#ifndef _GM_
#define _GM_

#include <stack>

#include "SDL.h"
#include "SDL_image.h"

#include "sprite.h"
#include "Renderable.h"
#include "Transformation.h"
#include "SDL_rotozoom.h"

class GraphicsManager
{
private:

	SDL_Surface* screen;
	SDL_Surface* back;

public:
	GraphicsManager();
	~GraphicsManager() { SDL_Quit(); }

	void Update();
	void GraphicsManager::PutPixel(SDL_Surface *surface, int x, int y, Uint32 pixel);
	void BlitSprite(Sprite* sprite, std::stack<Transformation*>* transfos);

	void CreateSurfaceInSprite(Sprite& sprite);


};

#endif